package com.kurumi.medical.mapper;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.kurumi.medical.model.HospitalVisitDiseaseDiagRecord;
import com.kurumi.medical.model.HospitalVisitOperateRecord;

public interface Export305DataMapper {
	
	/**
	 * 从oracle中获取病案基本信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305InfoByOracle();
	
	/**
	 * 从oracle中获取病案基本信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305InfoByOracleByMrIdAndVisitNumber(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	
	/**
	 * 从oracle中获取病案诊断符合情况信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305DiagCompareInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案诊断信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305DiagInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案手术信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305OperateInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案转科信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305TransferDeptInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案输血信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305TransferBloodInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案检查报告单信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305InspectionReportInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案检查报告项信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305InspectionItemInfoByOracle(@Param("applyNo")String applyNo);
	
	/**
	 * 从oracle中获取病案临时医嘱信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305DoctorAdviceTemporaryInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案长期医嘱信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305DoctorAdviceStandingInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	/**
	 * 从oracle中获取病案费用信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> getHospitalVisit305CostInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);
	
	
	/**
	 * 根据出院日期时间段从oracle中获取病案基本信息
	 * 
	 * @return list
	 */
	List<Map<String,Object>> queryHospitalVisit305InfoByOracle(@Param("outHospitalStartDate")String outHospitalStartDate,@Param("outHospitalEndDate")String outHospitalEndDate,@Param("patientId")String patientId,@Param("visitNumber")Integer visitNum,@Param("outDeptCode")String outDeptCode);
	
	List<Map<String,Object>> queryHospitalVisit305ScanInfoByOracle(@Param("mrId")String mrId,@Param("visitNumber")Integer visitNumber);

	
	int insertDiseaseDiagRecordToOracle(@Param("record")HospitalVisitDiseaseDiagRecord record,@Param("mrId")String mrId,@Param("visitNumber")String visitNumber);
	
	int deleteDiseaseDiagRecordToOracle(@Param("mrId")String mrId,@Param("visitNumber")String visitNumber);

	int insertOperateRecordToOracle(@Param("record")HospitalVisitOperateRecord record,@Param("mrId")String mrId,@Param("visitNumber")String visitNumber,@Param("operaterName")String operaterName,@Param("firstOpsAssistantName")String firstOpsAssistantName,@Param("secondOpsAssistantName")String secondOpsAssistantName,@Param("anaesthesiaOfDoctorName")String anaesthesiaOfDoctorName);

	int deleteOperateRecordToOracle(@Param("mrId")String mrId,@Param("visitNumber")String visitNumber);

	
	List<Map<String,Object>>  queryHospitalInspectionByOracle(@Param("patientId") String patientId,@Param("visitNumber")String visitNumber); 

	

}
